home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
VIG-AC10.ZIP
/
APPCENTR.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-07-01
|
4KB
|
307 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer TINTEGER008(1)
String TSTRING001(10,5)
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
;------------------------------------------------------------------------------
STRING005 = "@X08Application Center v1.0 by ViGilante [PWA] /A=Up, /Z=Down, CR/Enter=Select"
For INTEGER005 = 1 To Len(STRING005) Step 2
INTEGER007 = INTEGER007 + Asc(Mid(STRING005, INTEGER005, 1))
Next
If (INTEGER007 <> 3187) End
StartDisp 1
Gosub LABEL011
FOpen 1, PPEPath() + "appcentr.cnf", 0, 0
FGet 1, INTEGER001
FGet 1, STRING007
FGet 1, INTEGER006
For INTEGER005 = 1 To INTEGER006
FGet 1, TSTRING001(INTEGER005, 0)
Tokenize TSTRING001(INTEGER005, 0)
TSTRING001(INTEGER005, 1) = GetToken()
TSTRING001(INTEGER005, 2) = GetToken()
TSTRING001(INTEGER005, 3) = GetToken()
TSTRING001(INTEGER005, 5) = GetToken()
FGet 1, TSTRING001(INTEGER005, 0)
FGet 1, TSTRING001(INTEGER005, 4)
If (Lower(TSTRING001(INTEGER005, 4)) == "sysop") TSTRING001(INTEGER005, 4) = Upper(ReadLine(PCBDat(), 2))
Next
FClose 1
INTEGER005 = INTEGER006
Gosub LABEL004
:LABEL001
If (BOOLEAN001) Goto LABEL003
STRING002 = Lower(Left(Inkey(), 1))
If (InStr("drz", STRING002) > 0) Then
Gosub LABEL005
Inc INTEGER005
If (INTEGER005 > INTEGER006) INTEGER005 = 1
Gosub LABEL004
ElseIf (InStr("ula", STRING002) > 0) Then
Gosub LABEL005
Dec INTEGER005
If (INTEGER005 < 1) INTEGER005 = INTEGER006
Gosub LABEL004
ElseIf (STRING002 == Chr(13)) Then
If (INTEGER005 == INTEGER006) Then
BOOLEAN001 = 1
Gosub LABEL005
Goto LABEL002
Endif
Gosub LABEL006
Gosub LABEL011
Gosub LABEL004
Endif
:LABEL002
Goto LABEL001
:LABEL003
StartDisp 2
End
:LABEL004
AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
STRING003 = ScrText(TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2), TSTRING001(INTEGER005, 3), 1)
Print TSTRING001(INTEGER005, 0)
AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
Return
:LABEL005
AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
Print STRING003
AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
Return
:LABEL006
If (Exist(PPEPath() + "app." + String(INTEGER005))) Then
BOOLEAN003 = 1
Color 7
Cls
If (Exist(PPEPath() + "intro." + String(INTEGER005))) Then
DispFile PPEPath() + "intro." + String(INTEGER005), 0
Wait
Endif
STRING008 = ReadLine(PPEPath() + "app." + String(INTEGER005), 1)
If (Exist(Right(STRING008, Len(STRING008) - 1))) Then
Call Right(STRING008, Len(STRING008) - 1)
Wait
Goto LABEL010
Endif
FCreate 1, PPEPath() + "temp." + String(PcbNode()), 1, 0
If (Lower(Left(STRING007, 1)) == "y") FPut 1, "@WAIT@"
FPut 1, "@POFF@"
FClose 1
OpenCap PPEPath() + "temp." + String(PcbNode()), BOOLEAN002
FOpen 1, PPEPath() + "app." + String(INTEGER005), 0, 0
:LABEL007
If (Ferr(1)) Goto LABEL009
FGet 1, STRING004
While (InStr(STRING004, "*") <> 0) Do
INTEGER004 = InStr(STRING004, "*")
Print Left(STRING004, INTEGER004 - 1)
STRING004 = Right(STRING004, Len(STRING004) - INTEGER004)
INTEGER002 = GetX()
INTEGER003 = GetY()
INTEGER007 = 1
STRING002 = ""
While (STRING002 <> Chr(13)) Do
STRING002 = Inkey()
If ((STRING002 == Chr(8)) && (INTEGER007 > 1)) Then
Print Chr(8) + " " + Chr(8)
Dec INTEGER007
Continue
Endif
If (Asc(STRING002) > 31) Then
If (((Len(STRING002) > 1) || (ScrText(INTEGER002 + INTEGER007, INTEGER003, 1, 0) <> " ")) || (INTEGER002 + INTEGER007 > 80)) Then
Beep
Goto LABEL008
Endif
Print STRING002
Inc INTEGER007
:LABEL008
Continue
Endif
If ((STRING002 <> "") && (Asc(STRING002) <> 13)) Beep
EndWhile
If (BOOLEAN003) Then
BOOLEAN003 = 0
STRING006 = Upper(ScrText(INTEGER002, INTEGER003, GetX() - INTEGER002, 0))
Endif
EndWhile
PrintLn STRING004
Goto LABEL007
:LABEL009
FClose 1
Print Chr(27) + "[" + String(INTEGER001 - 2) + ";1H"
CloseCap
Message TSTRING001(INTEGER005, 5), Upper(TSTRING001(INTEGER005, 4)), Upper(STRING006), StripAtx(TSTRING001(INTEGER005, 0)), "R", 0, 0, 0, PPEPath() + "temp." + String(PcbNode())
Delete PPEPath() + "temp." + String(PcbNode())
AnsiPos 1, 23
Wait
Endif
:LABEL010
Return
:LABEL011
DispFile PPEPath() + "appcentr.pcb", 0
AnsiPos 40 - Len(StripAtx(STRING005)) / 2, 1
Print STRING005
Return
If (0) Then
Brag
FFlush 1
FReAltUser
MouseReg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Redim TINTEGER008, 2
Sort TINTEGER008, TINTEGER008
Print FlagCnt()
Print HiMsgNum()
Print KbdBufSize()
Print KbdFilUsed()
Print LoMsgNum()
Print PPLBufSize()
Endif
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 1 Cls
; 3 Wait
; 1 Color
; 31 Goto
; 28 Let
; 13 Print
; 1 PrintLn
; 24 If
; 2 DispFile
; 1 FCreate
; 2 FOpen
; 3 FClose
; 7 FGet
; 2 FPut
; 2 StartDisp
; 1 Delete
; 10 Gosub
; 4 Return
; 2 Inc
; 2 Dec
; 1 Tokenize
; 2 Beep
; 1 Call
; 6 AnsiPos
; 1 OpenCap
; 1 CloseCap
; 1 Message
; 1 FFlush
; 1 Redim
; 1 Sort
; 1 MouseReg
; 1 Brag
; 1 FReAltUser
;
;
; ■ Functions used :
;
; 1 /
; 30 +
; 7 -
; 5 ==
; 6 <>
; 3 <
; 2 <=
; 7 >
; 4 >=
; 18 !
; 6 &&
; 4 ||
; 7 Len(
; 3 Lower()
; 4 Upper()
; 1 Mid()
; 3 Left()
; 3 Right()
; 1 Ferr()
; 6 Chr()
; 3 Asc()
; 4 InStr()
; 2 StripAtx()
; 2 Inkey()
; 10 String()
; 1 PCBDat()
; 11 PPEPath()
; 4 PcbNode()
; 2 ReadLine()
; 4 GetToken()
; 3 Exist()
; 2 GetX()
; 1 GetY()
; 3 ScrText()
; 1 FlagCnt()
; 1 KbdBufSize()
; 1 PPLBufSize()
; 1 KbdFilUsed()
; 1 LoMsgNum()
; 1 HiMsgNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Cd
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 2 While/EndWhile
; 12 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------